package com.itboye.jigongbao.retrofit.util

import android.util.Log
import org.json.JSONArray
import org.json.JSONException
import org.json.JSONObject

/**
 * Created by Administrator on 2017/12/21.
 */
class LogUtil {
    companion object {
        fun printJson(tag: String, msg: String, headString: String) {
            val LINE_SEPARATOR = System.getProperty("line.separator")
            var message: String

            try {
                if (msg.startsWith("{")) {
                    val jsonObject = JSONObject(msg)
                    message = jsonObject.toString(4)//最重要的方法，就一行，返回格式化的json字符串，其中的数字4是缩进字符数
                } else if (msg.startsWith("[")) {
                    val jsonArray = JSONArray(msg)
                    message = jsonArray.toString(4)
                } else {
                    message = msg
                }
            } catch (e: JSONException) {
                message = msg
            }

            printLine(tag, true)
            message = headString + LINE_SEPARATOR + message
            val lines = message.split(LINE_SEPARATOR.toRegex()).dropLastWhile { it.isEmpty() }.toTypedArray()
            for (line in lines) {
                Log.d(tag, "║ " + line)
            }
            printLine(tag, false)
        }

        fun printLine(tag: String, isTop: Boolean) {
            if (isTop) {
                Log.d(tag, "╔═══════════════════════════════════════════════════════════════════════════════════════")
            } else {
                Log.d(tag, "╚═══════════════════════════════════════════════════════════════════════════════════════")
            }
        }
    }

}